-
Notifications
You must be signed in to change notification settings - Fork 13
Attachments package #159
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Attachments package #159
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Copilot reviewed 45 out of 47 changed files in this pull request and generated 1 comment.
Files not reviewed (2)
- connectors/supabase/build.gradle.kts: Language not supported
- core/build.gradle.kts: Language not supported
Comments suppressed due to low confidence (1)
core/README.md:27
- Consider correcting 'it database API' to 'its database API' for proper grammatical accuracy.
of [SQLDelight](https://sqldelight.github.io/sqldelight/latest/) for it database API and typesafe database
core/src/commonMain/kotlin/com/powersync/attachments/sync/SyncingService.kt
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm happy with these changes, the remaining comments are very minor items.
core/src/commonMain/kotlin/com/powersync/attachments/storage/IOLocalStorageAdapter.kt
Outdated
Show resolved
Hide resolved
core/src/commonMain/kotlin/com/powersync/attachments/implementation/AttachmentServiceImpl.kt
Show resolved
Hide resolved
core/src/commonMain/kotlin/com/powersync/attachments/implementation/AttachmentContextImpl.kt
Show resolved
Hide resolved
core/src/commonMain/kotlin/com/powersync/attachments/sync/SyncingService.kt
Outdated
Show resolved
Hide resolved
core/src/commonMain/kotlin/com/powersync/attachments/sync/SyncingService.kt
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM! 👍
Overview
This adds attachments helper functionality to the PowerSync Core module.
For full context. See the README
This implementation is a combination of the approach taken in the JS and Dart implementations.
AttachmentsService
which handles Attachment state persisting and a Syncing service which processes the queue.AttachmentQueue
here is not abstract, it provides a common and simple default implementation for certain operations. The class isopen
and can be extended if developers require custom functionality.Demo
See the small video demonstrating syncing attachments between two devices
attachment_demo.mp4
TODOS